/* tslint:disable */
/* eslint-disable */

import React, { CSSProperties, SVGAttributes, FunctionComponent } from 'react';
import { getIconColor } from './helper';

interface Props extends Omit<SVGAttributes<SVGElement>, 'color'> {
  size?: number;
  color?: string | string[];
}

const DEFAULT_STYLE: CSSProperties = {
  display: 'block',
};

const IconQrcode: FunctionComponent<Props> = ({ size, color, style: _style, ...rest }) => {
  const style = _style ? { ...DEFAULT_STYLE, ..._style } : DEFAULT_STYLE;

  return (
    <svg viewBox="0 0 1024 1024" width={size + 'px'} height={size + 'px'} style={style} {...rest}>
      <path
        d="M256 256v128h128V256H256zM128 160v320a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H160a32 32 0 0 0-32 32z m320 32v256H192V192h256z m192-32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32h-192a32 32 0 0 0-32 32z m64 32h128v128h-128V192z m-32 448h192a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32h-192a32 32 0 0 1-32-32v-192a32 32 0 0 1 32-32z m160 192v-128h-128v128h128zM128 672v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32v-192a32 32 0 0 0-32-32H160a32 32 0 0 0-32 32z m192 32v128H192v-128h128z m320-224v64h256v-64h-256z m-96 416h-64v-192h64v192z m0-320h-64v64h64v-64z"
        fill={getIconColor(color, 0, '#000000')}
        fillOpacity=".9"
      />
    </svg>
  );
};

IconQrcode.defaultProps = {
  size: 18,
};

export default IconQrcode;
